//package com.shanwen.shopping.adapter;
//
//import android.content.Context;
//import android.view.View;
//import android.widget.CheckBox;
//import android.widget.CompoundButton;
//
//import com.classic.adapter.BaseAdapterHelper;
//import com.classic.adapter.CommonAdapter;
//import com.classic.core.utils.DataUtil;
//import com.classic.core.utils.MoneyUtil;
//import com.shanwen.shopping.R;
//import com.shanwen.shopping.consts.Consts;
//import com.shanwen.shopping.dao.ShoppingCartHelper;
//import com.shanwen.shopping.dao.ShoppingCartItem;
//import com.shanwen.shopping.imageload.ImageLoadByPicasso;
//import com.shanwen.shopping.utils.EventUtil;
//import com.shanwen.shopping.utils.Utils;
//import com.shanwen.shopping.view.QuantityView;
//
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//
//
///**
// * 购物车列表适配器
// */
//public class ShoppingCartAdapter extends CommonAdapter<ShoppingCartItem> {
//    private Context mContext;
//    private List<ShoppingCartItem> data;
//    private ShoppingCartHelper shoppingCartHelper;
//    private static HashMap<Integer, Boolean> isSelected = new HashMap<>();
//
//    public ShoppingCartAdapter(Context context, int layoutResId, List<ShoppingCartItem> data) {
//        super(context, layoutResId, data);
//        this.mContext = context;
//        this.data = data;
//        shoppingCartHelper = ShoppingCartHelper.getInstance(context);
//        initDate();
//    }
//
//    private void initDate(){
//        for(int i=0; i<data.size();i++) {
//            getIsSelected().put(i, false);
//        }
//    }
//
//    @Override
//    public void onUpdate(final BaseAdapterHelper helper, final ShoppingCartItem item, final int position) {
//        QuantityView quantityView = helper.getView(R.id.shopping_cart_item_quantity_view);
//        quantityView.setTag(position);
//        Utils.setQuantityClick(mContext, quantityView);
//
//        quantityView.setOnQuantityChangeListener(new QuantityView.OnQuantityChangeListener() {
//            @Override
//            public void onQuantityChanged(int oldQuantity, int newQuantity, boolean programmatically) {
//                item.setNumber(newQuantity);
//                set(position, item);
//                shoppingCartHelper.update(item);
//                EventUtil.post(calculateTotalPrice(), Consts.EVENT_SHOPPING_CART_CHANGE);
//            }
//
//            @Override
//            public void onLimitReached() {
//
//            }
//        });
//        CheckBox checkBox = helper.getView(R.id.shopping_cart_item_checkbox);
//        checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                getIsSelected().put(position,isChecked);
//                EventUtil.post(calculateTotalPrice(), Consts.EVENT_SHOPPING_CART_CHANGE);
//            }
//        });
//        helper.setImageLoad(new ImageLoadByPicasso())
//                .setImageUrl(R.id.shopping_cart_item_cover, item.getCoverUrl())
//                .setText(R.id.shopping_cart_item_price, "￥"+Utils.getPrice(item.getPrice()))
//                .setText(R.id.shopping_cart_item_property, "规格："+item.getSkuPropValue())
//                .setText(R.id.shopping_cart_item_total_price, Utils.getPrice(item.getPrice() * item.getNumber()))
//                .setText(R.id.shopping_cart_item_intro, item.getTitle())
////                .setChecked(R.id.shopping_cart_item_checkbox,isSelected.get(position))
//                .setOnClickListener(R.id.shopping_cart_item_delete, new View.OnClickListener() {
//                    @Override
//                    public void onClick(View v) {
//                        if (DataUtil.isEmpty(data)) return;
//                        remove(position);
//                        getIsSelected().remove(position);
//                        shoppingCartHelper.delete(item.getId());
//                        EventUtil.post("", Consts.EVENT_SHOPPING_CART_CHANGE);
//                    }
//                });
//        checkBox.setChecked(isSelected.get(position)==null?false:isSelected.get(position));
//        quantityView.setQuantity(item.getNumber());
//    }
//    public static HashMap<Integer, Boolean> getIsSelected() {
//        return isSelected;
//    }
//
//    public static void setIsSelected(HashMap<Integer, Boolean> isSelected) {
//        ShoppingCartAdapter.isSelected = isSelected;
//    }
//
//    private double totalPrice;
//    /** 计算总价格 */
//    public String calculateTotalPrice(){
//        if(DataUtil.isEmpty(data)) return "0";
//        int value = 0;
//        for(int i = 0;i<data.size();i++){
//            ShoppingCartItem item = data.get(i);
//            if(getIsSelected().get(i) != null && getIsSelected().get(i)){
//                value += item.getPrice() * item.getNumber();
//            }
//        }
//        totalPrice = MoneyUtil.newInstance(value).divide(100).create().doubleValue();
//        //totalPrice = MoneyUtil.divide(value, 100).doubleValue();
//        return MoneyUtil.replace(totalPrice);
//    }
//    public ArrayList<ShoppingCartItem> getSelectedData(){
//        if(DataUtil.isEmpty(data)) return null;
//        ArrayList<ShoppingCartItem> result = new ArrayList<>();
//        for(int i = 0;i<data.size();i++){
//            if(getIsSelected().get(i) != null && getIsSelected().get(i)){
//                result.add(data.get(i));
//            }
//        }
//        return result;
//    }
//
//    public void refresh(){
//        replaceAll(data);
//    }
//}
